package com.sdkj.dspservice.modules.report.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.sdkj.dspservice.common.base.entity.DataEntity;
import com.sdkj.dspservice.modules.report.entity.tem.ViewVariable;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import java.util.List;

/**
 * 视图实体
 * @author tm
 */
@Data
public class View extends DataEntity<View> {

    /**
     * 名称
     */
    @NotBlank(message = "名称不能为空")
    private String name;
    /**
     * 描述
     */
    private String description;
    /**
     * 数据源ID
     */
    @NotBlank(message = "数据源不能为空")
    private String sourceId;
    /**
     * sql
     */
    @NotBlank(message = "sql不能为空")
    private String sql;
    /**
     * 格式为{"ORDER_ID":{"sqlType":"STRING","visualType":"string","modelType":"category"}}
     * modelType：数据类型
     * modelType：可视化类型
     */
    private String model;
    /**
     * 变量（variables以json字符串形式储存）
     */
    private String variable;

    private String config;

    /**
     * 变量列表
     */
    @TableField(exist = false)
    private List<ViewVariable> variables;

    public View() {
    }

    public View(String id) {
        super(id);
    }

}